package dao

import "sftti-go-service/types"

type PaperDao interface {
	QueryPaper(params map[string]any) (res types.Paper, err error)
	QueryPaperQuestionChoices(questionId int64) (res []types.PaperQuestionChoice, err error)
	QueryPaperQuestions(paperId int64) (res []types.PaperQuestion, err error)
	CheckUserPaperAuth(paperId int64, userId int64) (res bool, err error)
	CheckUserHasDonePaper(paperId int64, userId int64) (res bool, err error)
	AddPaperUserAnswer(answer *types.PaperUserAnswer) (res int64, err error)
	AddPaperUserDone(pud *types.PaperUserDone) (res int64, err error)
	CheckQuestionInPaper(paperId int64, questionId int64) (res bool, err error)
	QueryPaperUserAnswers(paperId int64, userId int64) (res []types.PaperUserAnswer, err error)
	QueryUserPapers(params map[string]any) (res []types.Paper, err error)
	QueryUserDonePapers(params map[string]any) (res []types.Paper, err error)
}
